#include <linux/init.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/mm.h>
#include <linux/acpi.h>


static int uart1_gpioen_init(void)
{
	void __iomem *gpio_alf_reg;
	unsigned int val0 = 10, val1 = 11;

	printk(KERN_INFO "uart1_gpioen_init\n");

	gpio_alf_reg = ioremap_nocache(0x1fe00504, 2);
	if (gpio_alf_reg == NULL) {
		printk(KERN_INFO "ioremap_noncache failed!\n");
		return -1;
	}

	val0 = readb(gpio_alf_reg);
	printk("val0:%d\n", val0);
	val1 = readb(gpio_alf_reg + 1);
	printk("val1:%d\n", val1);

	val0 &= ~(0xfc << 0);
	val1 &= ~(0x03 << 0);

	writeb(val0 | 0xfc, gpio_alf_reg);
	writeb(val1 | 0x03, gpio_alf_reg + 1);

	
	val0 = readb(gpio_alf_reg);
	printk("val0:%x\n", val0);
	val1 = readb(gpio_alf_reg + 1);
	printk("val1:%x\n", val1);
	return 0;
}

static void uart1_gpioen_exit(void)
{
	printk(KERN_INFO "uart1_gpioen_exit\n");

	return ;
}





module_init(uart1_gpioen_init);
module_exit(uart1_gpioen_exit);

MODULE_LICENSE("GPL");

